草庐IT

Java 不可变列表

全部标签

javascript - 如何选中/取消选中 react 中的复选框列表

我有一个room页面,在该页面中我有一个连接到该房间的传感器列表,可以使用复选框选择这些传感器,如下所示:{sensors.map(s=>{return({s.name});})}问题是-这种方法禁止我取消选中复选框(所以如果在数据库中,传感器连接到那个房间-就是这样)。我如何重写它以便我可以选中/取消选中此复选框? 最佳答案 在类里面你必须有状态,一个例子有点像这样exportdefaultclassyourComponentextendsReact.Component{state={checkedBoxes:[]}handleC

javascript - 具有可变延迟和等待的 Angular 4 setTimeout()

我有一个带有timestamp的事件列表。我想要的是根据timestamp显示事件:添加延迟:delay=timestamp(t+1)-timstamp(t)我知道这不适用于setTimeout,但有一个解决方法,如果超时是恒定的,在我的情况下不是。是否可以让下一个setTimeout()等待上一个?具体来说,如果第一个setTimeout()有5秒的延迟,第二个有3秒,那么第二个会先出现。我希望它们按相同的顺序执行,但一个接一个地执行。此示例适用于恒定延迟,但我想根据迭代列表所获取的信息来计算延迟。for(i=1;i 最佳答案 您

javascript - 填充列表元素中的空白区域

我有一个流动的网格(高度和宽度)。LI始终为矩形,并根据屏幕尺寸自行调整。现在我需要填充列表,使它们都具有相同的高度。如果所有列都有一个LI元素,这将很容易。但是有双倍大小的列,其中一些可以包含大尺寸的LI。在某些情况下,列的中间甚至有空位,因为有一个大李和一个小李,紧接着又是一个大李。在某些内容页面上,所有li都在一个列中。在每种情况下,li都向左浮动。我做了一些图片来解释这个问题:首先,我想数数child的数量并进行比较。但是,当所有LI都在一个列中或列中间缺少一个LI时,事情就变得复杂了。这是我尝试过的:varlongest=0$("ul.grid-col").each(func

c# - 将整数列表从 JavaScript 传递到 C#——我得到了列表,但它是空的;表单数据结构不正确?

我的数组是这样填充的:updateLabels:function(){vardiagrams=_stage.diagramLayer.getChildren();varcomponentIDs=newArray();for(varindex=0;index服务器端我有这个方法:[CompressionFilterAttribute]publicJsonResultUpdateDiagrams(ListcomponentIDs,stringrackInfo){ListdiagramInformation=newList(componentIDs.Count());}我的数据在网络中传输:

javascript - 将元素添加到列表时,触发此事件的最佳方式是什么

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtoidentifywhentheDOMhasbeenchanged?假设我可以访问元素$(ul#mylist).当某些项目添加到列表时,如何触发事件。我尝试了以下但实际上它不起作用。$('ul#mylist').change(function(){console.log('addedanelement');});

javascript - 使用 D3 创建 DIV 的动态列表

我一直在使用D3创建精美的动画图表,示例很棒。但是,我正在尝试做一些看似更基本的事情,但遇到了麻烦-将数据绑定(bind)到一个简单的DIV列表。我设置了enter()来初始化不透明度为0的元素,transition()来淡入它们,exit()来淡出并删除它们。enter()和exit()似乎工作正常-然而,当更新包含列表中已有的现有元素时,它似乎被部分删除-包含DIV仍然存在,但内容消失了。我不明白为什么元素的内容会以这种方式改变。我的代码如下:vardata=[...];sorted=data.sort(function(a,b){returnd3.descending(a.id,

javascript - 创建一个接受可变数量 View (以及区域)的布局

我的目标我需要创建一个自定义布局(流布局),它可以接收可变数量的View,并根据它们创建必要的区域,并在这些区域内显示传入的View。View可以垂直排列或水平。要求该布局有一个模板,其中最初未定义区域。它只包含一个包装器(data-role="region-wrapper"),添加的区域将在其中呈现。我的方法。1-扩展Marionette.Layout(显然)2-像下面这样重写构造函数constructor:function(options){//callsuperhere...this.viewList=options.viewList||[];this._defineRegion

javascript - 为什么 JavaScript 原始变量不可变而对象变量不可变?

有一种方法可以在原型(prototype)属性的帮助下将成员函数或成员属性添加到数字、字符串等...-变量:Number.prototype.member=function(){console.log('number-member-functioncalled');};或者在变量本身的原型(prototype)属性的帮助下:varnum=7;num.__proto__.member=function(){console.log('number-member-functioncalled');};就像任何其他类型的JavaScript类型一样。但是,在JavaScript中实现Primi

javascript - 将内容添加到列表时保持滚动位置 (AngularJS)

我一直在尝试使用ng-repeat将一些项目添加到可滚动容器内的列表中,最近的项目应该位于列表的顶部。如果在前置内容时容器的滚动条不在最顶部,我还需要保持滚动位置。这是我的解决方案,但我仍然遇到问题。Angular在dom中渲染前置项目后总是闪烁。varmyApp=angular.module('myApp',[]);myApp.controller('MainCtrl',function($scope,$interval,$timeout){$scope.items=[];$interval(function(){varitem={id:Math.random(),text:(new

javascript - 如何从不可变树中获取更改的树,最大限度地重用节点

我有一个像这样的树结构数据:[{id:54,name:123,children:[{id:54,name:123,children:[{id:154,name:1234,children[]...}]}]},{...}]我使用的是Angular2。据我所知,每当输入发生变化并且您的变化检测策略是onPush时,变化检测就会启动。.为了优化树结构更新(例如,在嵌套级别切换节点或更改此类节点的任何属性),我使用了Immutable.Immutable如何帮助我优化更新?我读到Immutable会在数据发生变化时重用旧数据的引用来构造新对象。如何有效地使用不可变数据结构来更新嵌套级别的节点?